// service 文件夹中统一的功能函数的出口

// 导入 axios 的类型
import type { AxiosRequestConfig } from 'axios'
// 导入封装的请求类
import ShuangRequest from './request'

// 创建请求类的实例
const SRequest = new ShuangRequest({
  // 请求地址
  baseURL: import.meta.env.VITE_BASE_URL,
  // 超时时间
  timeout: import.meta.env.VITE_TIMEOUT,
  // 拦截器
  interceptors: {
    // 请求成功拦截器
    requestInterceptor: (config: AxiosRequestConfig) => {
      const token =
        'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6ImNvZGVydGVzdCIsInJvbGUiOnsiaWQiOjMsIm5hbWUiOiLov5DokKUifSwiaWF0IjoxNjUxODk3NzEyLCJleHAiOjE2NTQ0ODk3MTJ9.k6VqjKjiq_mSCxk2F5wJwhUIsvW1M2dgoCBSIZ4a6n8SEWXNoys6HcKNXDsYMy6AxbRcQl6OzcPn_c3_NJplGjY-4D-m5bseFEj2OYQfdvmzMDnf8DcEcmnZtWm6HX2R6Pdeo2zUwi03OdXbGgweknGlSMIpEqdfR40BtWq46S0'
      if (token && config?.headers) {
        config.headers.Authorization = `Bearer ${token}`
      }

      return config
    },
    // 请求失败拦截器
    requestinterceptorCatch: (error) => {
      return error
    },
    // 响应成功拦截器
    responseInterceptor: (res) => {
      return res
    },
    // 响应失败拦截器
    responseInterceptorCatch: (error) => {
      return error
    }
  }
})

// 导出
export { SRequest }
